import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

class Checkboxdemo{
  static ListView getListView(){
    return ListView(
      children: [
        getWidget()
      ],
    );
  }

  static Widget getWidget(){
    return SwitchAndCheckBoxTestRoute();
  }

}

class SwitchAndCheckBoxTestRoute  extends StatefulWidget{
  @override
  State<StatefulWidget> createState() {
    return _SwitchAndCheckBoxTestRouteState();
  }

}

class _SwitchAndCheckBoxTestRouteState  extends State<SwitchAndCheckBoxTestRoute>{
  bool _switchSelected=true; //维护单选开关状态
  bool? _checkboxSelected=true;//维护复选框状态
  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        Switch(
        value: _switchSelected,//当前状态
          onChanged: (value){
          //重新构建页面
            setState(() {
              _switchSelected=value;
            });
          },
        ),
        Checkbox(value: _checkboxSelected,
            activeColor: Colors.red,
            /*
            Checkbox有一个属性tristate ，表示是否为三态，其默认值为false ，这时 Checkbox
            有两种状态即“选中”和“不选中”，对应的 value 值为true和false ；
            如果tristate值为true时，value 的值会增加一个状态null
             */
            tristate: true,
            onChanged: (value){
          setState(() {
            _checkboxSelected=value;
          });
        })
      ],
    );
  }

}